﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Assignment2.Actions;

namespace Assignment2
{
    class State
    {
        protected List<Action> actions, entryActions, exitActions;
        
        public List<Action> getAction()
        {
            return actions;
        }
        public List<Action> getEntryAction()
        {
            return entryActions;
        }
        public List<Action> getExitAction()
        {
            return exitActions;
        }

        protected List<Transition> transitions;
        public List<Transition> getTransitions()
        {
            return transitions;
        }

        public State(ref Integer idleTime)
        {
            actions = new List<Action>();
            Action increaseIdle = new IncreaseIdleTimeAction(ref idleTime);
            actions.Add(increaseIdle);

            entryActions = new List<Action>();
            exitActions = new List<Action>();

            transitions = new List<Transition>();
        }

        public virtual void updateMember()
        {
        }
    }
}
